In real world environments, many observed signals are typically composites of a plurality of signal components. For example, if one records an audio signal within a moving vehicle, the measured audio signal may comprise a plurality of signal components, such as audio signals attributed to the tires rolling on the surface of the road, the sound of wind, sounds from other vehicles, speech signals of people within the vehicle and the like. Furthermore, the measured audio signal is non-stationary, since the signal components vary in time as the vehicle is traveling.
The processing of signals can be implemented to achieve various desired results such as echo cancellation in telecommunications and signal noise reduction. More specifically, the variance matrix (or co-variance matrix) of observed signals discloses important information about these signals such as power spectrum, linear prediction coefficients (LPC), and the like. Thus, an important task in signal processing is the ability to accurately estimate the variance (or co-variance) matrix of the signals or processes. However, for non-stationary signals, such as speech, the estimated variances change over time and must be continually updated to reflect the most recent information. Typically, filters can be employed to estimate variances of signals.
One filtering method is the tapped delay line (TDL), which employs a series of unit delay elements connected so that the first delay element delays the input signal by one time unit, the second delay element delays the input signal by another time unit, and so on. A copy of the output of each delay element is tapped out and multiplied by a predetermined weighting factor. The weighting factor serves to attenuate or increase the value of a particular sample within the signal. The weighted outputs from all of the delay elements are serially added using summation elements. The output of the last summation element in the series is the output of the filter.
However, TDL is computationally expensive since the entire filtering process is repeated for each new sample in the signal. Furthermore, TDL has a fixed memory depth, i.e., limited to a memory depth equal to the number of delay elements. Thus, TDL may be impractical for signal processing, where the memory depth needs to be adjusted over time.
A second filtering method is the "leaky integrator" (LI) method which is a recursive filter that also utilizes a delay element. However, LI feeds back a copy of the output from the delay element, multiplied by a predetermined feedback parameter (otherwise known as a forgetting factor), to the input of the delay element. The LI filter is computationally less expensive than TDL, since the LI filter produces an output that is based in part on an output performed for the previous input vector. Thus, the LI does not incur a large expense in performing numerous summation and multiplication steps. However, the LI filter lacks the resolution of the TDL filter, since there is no mechanism to individually alter the significance (e.g., adaptively apply different weights) of individual sample once that sample has been processed. Namely, the LI filter employs exponential decay weighting instead of individual sample weighting.
Recently, the filtering method of Gamma Delay Line (GDL) was introduced in U.S. Pat. No. 5,301,135, issued on Apr. 5, 1994, which is herein incorporated by reference in its entirety. The GDL is a tapped delay line of leaky integrators, thereby combining advantageous features of both the TDL and LI methods.
Therefore, a need exists in the art for adapting a GDL filter for signal processing of a non-stationary signal.